package cn.gd.mapper.systemAdministration.User;

import cn.gd.pojo.Organizationstructure;
import cn.gd.pojo.Roles;
import cn.gd.pojo.Users;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    /**
     * 查询用户
     * @return
     */
    List<Users> queryUsers(Users users);

    /**
     * 根据ID删除用户
     * @param userId
     * @return
     */
    int deleteUserByUserId(Integer userId);

    /**
     * 根据ID查询用户
     * @param userId
     * @return
     */
    Users queryUserByUserId(Integer userId);

    /**
     * 查询角色，给修改和新增用
     * @return
     */
    List<Roles> queryRole();

    /**
     * 查询组织部门，给修改和新增用
     * @return
     */
    List<Organizationstructure> queryOrganization();

    /**
     * 根据ID修改用户
     *
     * @param users
     * @return
     */
    int updateUserByUserID(Users users);

    /**
     * 新增用户
     * @param users
     * @return
     */
    int addUser(Users users);

    /**
     * 添加用户角色关联
     * @param userID
     * @param roleID
     */
    void addUserRoles(@Param("userID") int userID, @Param("roleID") int roleID);

    /**
     * 添加用户角色关联
     * @param userID
     * @param deptID
     */
    void addUserDepartment(@Param("userID") int userID, @Param("deptID") int deptID);
}
